package com.tool.toollibrary.activity;

import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;

import com.example.nicedialog.BaseNiceDialog;
import com.example.nicedialog.NiceDialog;
import com.example.nicedialog.ViewConvertListener;
import com.example.nicedialog.ViewHolder;
import com.example.nicedialog.dialogview.ConfirmDialog;
import com.tool.mylibrary.utils.RxToast;
import com.tool.toollibrary.R;
import com.tool.toollibrary.base.BaseActivity;
import com.tool.mylibrary.ui.popupWindow.DropWindow;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;

/**对话框测试
 * Created by Google on 2018/6/6.
 */

public class DialogActivity extends BaseActivity {

    @BindView(R.id.btn_top)
    Button btnTop;
    @BindView(R.id.btn_bottom)
    Button btnBottom;
    @BindView(R.id.btn_left)
    Button btnLeft;
    @BindView(R.id.btn_right)
    Button btnRight;
    @BindView(R.id.btn1)
    TextView btn1;
    @BindView(R.id.confirm)
    Button confirm;
    @BindView(R.id.loading_dialog)
    Button loadingDialog;
    @BindView(R.id.show_popupwindow)
    Button show_popupwindow;

    @Override
    public int getLayoutId() {
        return R.layout.dialog_layout;
    }

    @Override
    public void initView() {

    }

    @Override
    public void processClick(View v) {

    }


    @Override
    public void initData() {

    }

    @Override
    public void initListener() {
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int left = btn1.getLeft();
                int bottom = btn1.getBottom();
                NiceDialog.init()
                        .setLayoutId(R.layout.dialog)     //设置dialog布局文件
                        .setConvertListener(new ViewConvertListener() {     //进行相关View操作的回调
                            @Override
                            public void convertView(ViewHolder holder, final BaseNiceDialog dialog) {

                            }
                        })
                        .setDimAmount(0)     //调节灰色背景透明度[0-1]，默认0.5f
                        .setAnimStyle(R.style.DefaultAnimation)
                        .setPosition(Gravity.LEFT | Gravity.TOP)
                        .setOffsetX(left)
                        .setOffsetY(bottom)
                        .setMargin(0)     //dialog左右两边到屏幕边缘的距离（单位：dp），默认0dp
                        .setWidth(300)     //dialog宽度（单位：dp），默认为屏幕宽度，-1代表WRAP_CONTENT
                        .setHeight(300)     //dialog高度（单位：dp），默认为WRAP_CONTENT
                        .setOutCancel(true)     //点击dialog外是否可取消，默认true
                        .show(getSupportFragmentManager());     //显示dialog

            }
        });

        btnTop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NiceDialog.init()
                        .setLayoutId(R.layout.dialog)
                        .setConvertListener(new ViewConvertListener() {     //进行相关View操作的回调
                            @Override
                            public void convertView(ViewHolder holder, final BaseNiceDialog dialog) {

                            }
                        })
                        .setPosition(Gravity.TOP)
                        .setDimAmount(0)     //调节灰色背景透明度[0-1]，默认0.5f
                        .setWidth(300)     //dialog宽度（单位：dp），默认为屏幕宽度，-1代表WRAP_CONTENT
                        .setHeight(300)     //dialog高度（单位：dp），默认为WRAP_CONTENT
                        .setOutCancel(true)     //点击dialog外是否可取消，默认true
                        .show(getSupportFragmentManager());     //显示dialog

            }
        });
        btnBottom.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NiceDialog.init()
                        .setLayoutId(R.layout.dialog)
                        .setConvertListener(new ViewConvertListener() {     //进行相关View操作的回调
                            @Override
                            public void convertView(ViewHolder holder, final BaseNiceDialog dialog) {

                            }
                        })
                        .setPosition(Gravity.BOTTOM)
                        .setDimAmount(0)     //调节灰色背景透明度[0-1]，默认0.5f
                        .setWidth(300)     //dialog宽度（单位：dp），默认为屏幕宽度，-1代表WRAP_CONTENT
                        .setHeight(300)     //dialog高度（单位：dp），默认为WRAP_CONTENT
                        .setOutCancel(true)     //点击dialog外是否可取消，默认true
                        .show(getSupportFragmentManager());     //显示dialog

            }
        });
        btnLeft.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NiceDialog.init()
                        .setLayoutId(R.layout.dialog)
                        .setConvertListener(new ViewConvertListener() {     //进行相关View操作的回调
                            @Override
                            public void convertView(ViewHolder holder, final BaseNiceDialog dialog) {

                            }
                        })
                        .setPosition(Gravity.LEFT)
                        .setDimAmount(0)     //调节灰色背景透明度[0-1]，默认0.5f
                        .setWidth(300)     //dialog宽度（单位：dp），默认为屏幕宽度，-1代表WRAP_CONTENT
                        .setHeight(300)     //dialog高度（单位：dp），默认为WRAP_CONTENT
                        .setOutCancel(true)     //点击dialog外是否可取消，默认true
                        .show(getSupportFragmentManager());     //显示dialog

            }
        });
        btnRight.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NiceDialog.init()
                        .setLayoutId(R.layout.dialog)
                        .setConvertListener(new ViewConvertListener() {     //进行相关View操作的回调
                            @Override
                            public void convertView(ViewHolder holder, final BaseNiceDialog dialog) {

                            }
                        })
                        .setPosition(Gravity.RIGHT)
                        .setDimAmount(0)     //调节灰色背景透明度[0-1]，默认0.5f
                        .setWidth(300)     //dialog宽度（单位：dp），默认为屏幕宽度，-1代表WRAP_CONTENT
                        .setHeight(300)     //dialog高度（单位：dp），默认为WRAP_CONTENT
                        .setOutCancel(true)     //点击dialog外是否可取消，默认true
                        .show(getSupportFragmentManager());     //显示dialog

            }
        });
        confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ConfirmDialog.newInstance("删除", "是否确认删除", "是", "否")
                        .setOnOkListener(new ConfirmDialog.OnOkListener() {
                            @Override
                            protected void onOk(BaseNiceDialog dialog) {
                                RxToast.normal(DialogActivity.this, "删除成功");
                                dialog.dismiss();
                            }
                        })
                        .setMargin(50)
                        .setOutCancel(true)
                        .show(getSupportFragmentManager());
            }
        });

        show_popupwindow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final List<String> strings=new ArrayList<>();
                for (int i=0;i<10;i++){
                    strings.add("item"+i);
                }
                DropWindow.init(DialogActivity.this)
                        .setData(strings)
                        .setHeight(1,3)
                        .setOffsetY(6)//控件的6分之一
                        .setOnSetShowListener(new DropWindow.OnSetShowListener() {
                            @Override
                            public void onView(TextView textView, int position) {
                                textView.setText(strings.get(position));
                            }

                            @Override
                            public void onClick(PopupWindow popupWindow, int position) {
                                show_popupwindow.setText(strings.get(position));
                                Toast.makeText(DialogActivity.this,"杜兰特sb",Toast.LENGTH_SHORT).show();
                                popupWindow.dismiss();
                            }
                        }).showDropDown(btn1);
            }
        });
    }
}
